package com.xique.system.bean.request;

import lombok.Data;

import java.io.Serializable;

/**
 * 工行注册子商户请求对象
 *
 * @author: caogq
 * @Date: 2022/5/31 10:46
 */
@Data
public class IcbcUpdateVendorRequest implements Serializable {

    private Long id;

    private Long parkId;

    /**
     * 工行API开放平台APPID（必填）
     */
    private String appId;

    /**
     * 合作方编号，同通用请求参数中的app_id（必填）
     */
    private String outUpperVendorId;

    /**
     * 客户方自定义商户编号，该编号要求平台合作方下唯一，支持数字、字母、中文（必填）
     */
    private String outVendorId;

    /**
     * 用户外部编号，该编号要求平台合作方下唯一，支持数字、字母、中文（必填）
     */
    private String outUserId;

    /**
     * 商户名称（必填）
     */
    private String vendorName;

    /**
     * 商户简称（必填）
     */
    private String vendorShortName;

    /**
     * 商户联系电话 eg:010-99990000（必填）
     */
    private String vendorPhone;

    /**
     * 商户邮箱（必填）
     */
    private String vendorEmail;

    /**
     * 所在省（必填）
     */
    private String province;

    /**
     * 所在市（必填）
     */
    private String city;

    /**
     * 所在区县（必填）
     */
    private String county;

    /**
     * 详细地址（必填）
     */
    private String address;

    /**
     * 邮政编码（必填）
     */
    private String postcode;

    /**
     * 商户联系人姓名（必填）
     */
    private String operatorName;

    /**
     * 商户联系人手机（必填）
     */
    private String operatorMobile;

    /**
     * 商户联系人邮箱（必填）
     */
    private String operatorEmail;

    /**
     * 商户联系人身份证号（必填）
     */
    private String operatorIdNo;

    /**
     * 商户类型（必填）
     * 01-企业
     * 06-个体工商户
     * 08-政务
     * 09-自然人
     * <p>
     * 1、商户类型若为08，则商户注册证件类型certType只能为102-行政机关或103-社会团体法人登记证书，商户绑定银行账号业务类型只能为1-对公账户或4-账户管家。
     * 2、商户类型若为09-自然人，则法人/负责人证件类型corprateIdType只能选择0-身份证，商户绑定银行账号accountNo则只能输入本行卡
     * 目前仅新收单系统支持自然人
     */
    private String vendorType;

    /**
     * 法人/负责人证件类型（必填）
     * 0-身份证
     * 1-护照
     * 2-军官证
     * 3-士兵证
     * 4-港澳台来往通行证
     * 5-临时身份证
     * 6-户口簿
     * 7-其他
     * 9-警官证
     * 12-外国人永久居留证
     * 21-边境出入境通行证
     */
    private String corprateIdType;

    /**
     * 法人/负责人姓名（必填）
     */
    private String corprateName;

    /**
     * 法人/负责人手机号（必填）
     */
    private String corprateMobile;

    /**
     * 法人/负责人证件号码（必填）
     */
    private String corprateIdNo;

    /**
     * 法人/负责人证件期限，日期格式需要满足 yyyy-MM-dd，如果是长期证件请上传 1（非必填）
     */
    private String corporateIdValidity;

    /**
     * 法人/负责人图片1，调用图片上传接口返回的key值（必填）
     */
    private String corprateIdPic1;

    private String corprateIdPic1Url;

    /**
     * 法人/负责人图片2，调用图片上传接口返回的key值（必填）
     */
    private String corprateIdPic2;

    private String corprateIdPic2Url;


    /**
     * 商户注册证件类型（仅支持0‐身份证）（必填）
     * 100-全国组织机构代码证书
     * 101-营业执照
     * 102-行政机关
     * 103-社会团体法人登记证书
     * 106-下属机构(具有主管单位批文号)
     * 107-其他(包含统一社会信用代码)
     * 108-商业登记证
     * 109-公司注册证
     * 0-身份证
     * <p>
     * 1、vendorType=09-自然人时，certType才能且仅能选择0-身份证，商户注册证件图片2（cerpic2）上送商户身份证反面，且为必输
     * 2、vendorType选择其他时，上传图片中地址需与商户地址保持一致，否则会影响注册商户注册
     */
    private String certType;

    /**
     * 商户注册证件图片，调用图片上传接口返回的key值（必填）
     */
    private String certPic;

    private String certPicUrl;

    /**
     * 商户注册证件图片2，调用图片上传接口返回的key值（vendorType=09-自然人时，该字段必填，上送身份证正反面）
     */
    private String certPic2;

    /**
     * 商户注册证件号码（必填）
     */
    private String certNo;

    /**
     * 商户注册证件期限，日期格式需要满足 yyyy-MM-dd，如果是长期证件请上传 1（非必填）
     */
    private String certValidityl;

    /**
     * 其他证明图片1，调用图片上传接口返回的key值（非必填）
     */
    private String otherCertPic1;

    /**
     * 其他证明图片2，调用图片上传接口返回的key值（非必填）
     */
    private String otherCertPic2;

    /**
     * 其他证明图片3，调用图片上传接口返回的key值（非必填）
     */
    private String otherCertPic3;

    /**
     * 商户绑定银行账号业务类型、（仅支持2‐个人账户业务类型）（非必填）
     * 1-对公账户
     * 2-个人账户
     * 3-收款管家账户
     * 4-账户管家
     * <p>
     * vendorType=01-企业时：支持 1-对公账户，3-收款管家卡，4-账户管家
     * vendorType=06-个体工商户：支持 1-对公账户，2-个人账户
     * vendorType=08-政务：支持 1-对公账户
     * vendorType=09-自然人：支持 2-个人账户
     */
    private String accountBizType;

    /**
     * 商户绑定银行账号户名，（必填，教育托管可以不填写）
     */
    private String accountName;

    /**
     * 商户绑定银行账号开户省份（必填，银行账号户名和银行账号都没填写此参数可以不填）
     */
    private String accountBankProvince;

    /**
     * 商户绑定银行账号开户城市（必填，银行账号户名和银行账号都没填写此参数可以不填）
     */
    private String accountBankCity;

    /**
     * 商户绑定银行账号开户银行（必填，银行账号户名和银行账号都没填写此参数可以不填）
     */
    private String accountBankNm;

    /**
     * 商户绑定银行账号开户行行名（必填，银行账号户名和银行账号都没填写此参数可以不填）
     */
    private String accountBankName;

    /**
     * 商户绑定银行账号开户行行号（必填，银行账号户名和银行账号都没填写此参数可以不填）
     */
    private String accountBankCode;

    /**
     * 商户绑定银行账号（必填，教育托管可以不填写）
     */
    private String accountNo;

    /**
     * 商户绑定银行账号预留手机（必填，银行账号户名和银行账号都没填写此参数可以不填）
     */
    private String accountMobile;

    /**
     * 商户申请书图片1，平台合作方已开通B2C时，该类型图片至少上传一张（图片上传接口返回的key值）（非必填）
     */
    private String cbmsVendorApplPic1;

    /**
     * 商户申请书图片2，（非必填）
     */
    private String cbmsVendorApplPic2;

    /**
     * 商户申请书图片3，图片key值（非必填）
     */
    private String cbmsVendorApplPic3;

    /**
     * 商户申请书图片4，图片key值（非必填）
     */
    private String cbmsVendorApplPic4;

    /**
     * 商户申请书图片5，图片key值（非必填）
     */
    private String cbmsVendorApplPic5;

    /**
     * 征信查询授权书图片1，平台合作方已开通B2C时，该类型图片至少上传一张（图片上传接口返回的key值）（非必填）
     */
    private String cbmsCreditQryAuthPic1;

    /**
     * 征信查询授权书图片2，图片key值（非必填）
     */
    private String cbmsCreditQryAuthPic2;

    /**
     * 征信查询授权书图片3，图片key值（非必填）
     */
    private String cbmsCreditQryAuthPic3;

    /**
     * 征信查询授权书图片4，图片key值（非必填）
     */
    private String cbmsCreditQryAuthPic4;

    /**
     * 征信查询授权书图片5，图片key值（非必填）
     */
    private String cbmsCreditQryAuthPic5;

    /**
     * 开户许可证图片1，平台合作方已开通B2C时，该类型图片至少上传一张（图片上传接口返回的key值）（非必填）
     */
    private String cbmsOpenAcctAuthPic1;

    /**
     * 开户许可证图片2，图片key值
     */
    private String cbmsOpenAcctAuthPic2;

    /**
     * 开户许可证图片3，图片key值
     */
    private String cbmsOpenAcctAuthPic3;

    /**
     * 开户许可证图片4，图片key值
     */
    private String cbmsOpenAcctAuthPic4;

    /**
     * 开户许可证图片5，图片key值
     */
    private String cbmsOpenAcctAuthPic5;

    /**
     * 商户绑定退款账户账号（非必填）
     * 1、发生退款时时使用，若为空，则退款时默认使用accountNo（商户绑定银行账号）
     * 2、支持工行对公户（往来户|内部户|账户管家）
     */
    private String refundAccountNo;

    /**
     * 商户绑定退款账户户名（非必填）
     */
    private String refundAccountName;

    /**
     * 跨境报关开关（非必填）
     * 1-开
     * 2-关
     */
    private String crossBoundaryDeclarationSwitch;

    /**
     * 子商户是否进行微信，若参数为空，则默认读取平台的值；该值为0时wxName1、wxTel1、wxmcc1、subAppid1、wxName2、wxTel2、wxmcc2非必输，该值为1时，按照下述字段备注校验必输
     * 0-否
     * 1-是
     */
    private String intoWechat;

    /**
     * 微信联系人1，如果平台合作方开通微信且跳转app支付方式，且子商户是否进件微信选择是，则必输（非必填）
     */
    private String wxName1;

    /**
     * 微信门店客户联系电话1，如果平台合作方开通微信且跳转app支付方式，且子商户是否进件微信选择是，则必输（非必填）
     */
    private String wxTel1;

    /**
     * 微信经营类目1，如果平台合作方开通微信且跳转app支付方式，且子商户是否进件微信选择是，则必输（非必填）
     * 756-主体类型：企业，结算成本：0.60%，适用行业：游戏、网络虚拟（在线图书/视频/音乐、游戏、网络直播、门户论坛、网络广告及推广、软件开发）、电商团购、财经资讯/荐股、众筹、电信运营商/宽带收费、机票/机票代理、共享服务、网购平台、在线信息服务平台、O2O平台、信用还款
     * 773-主体类型：政府事业单位，结算成本：0.60%，适用行业：游戏、网络虚拟（在线图书/视频/音乐、游戏、网络直播、门户论坛、网络广告及推广、软件开发）、电商团购、财经资讯/荐股、众筹、电信运营商/宽带收费、机票/机票代理、共享服务、网购平台、在线信息服务平台、O2O平台、信用还款
     * 774-主体类型：其他组织，结算成本：0.60%，适用行业：游戏、网络虚拟（在线图书/视频/音乐、游戏、网络直播、门户论坛、网络广告及推广、软件开发）、电商团购、财经资讯/荐股、众筹、电信运营商/宽带收费、机票/机票代理、共享服务、网购平台、在线信息服务平台、O2O平台、信用还款
     * 775-主体类型：小微商户，结算成本：0.60%，适用行业：游戏、网络虚拟（在线图书/视频/音乐、游戏、网络直播、门户论坛、网络广告及推广、软件开发）、电商团购、财经资讯/荐股、众筹、电信运营商/宽带收费、机票/机票代理、共享服务、网购平台、在线信息服务平台、O2O平台、信用还款
     * 757-主体类型：企业，结算成本：0.38%，适用行业：保险公司、保险代理公司
     * 758-主体类型：企业，结算成本：0.20%，适用行业：餐饮、零售批发、交通出行、生活娱乐服务、民营医疗机构、缴费、加油、物流快递等业务
     * 759-主体类型：企业，结算成本：0.30%，适用行业：民办中小学、幼儿园业务
     * 760-主体类型：企业，结算成本：0.10%，适用行业：水电煤气民生缴费、交通罚款、公交/高速
     * 761-主体类型：个体户，结算成本：0.20%，适用行业：电商团购、电信运营商/宽带收费、机票/机票代理
     * 762-主体类型：个体户，结算成本：0.20%，适用行业：零售批发、交通出行、生活娱乐服务、民营医疗机构、缴费等业务
     * 763-主体类型：政府事业单位，结算成本：0.20%，适用行业：停车缴费、物业缴费等其他缴费类业务
     * 764-主体类型：政府事业单位，结算成本：0.10%，适用行业：水电煤气民生缴费、交通罚款、公交/高速
     * 765-主体类型：政府事业单位，结算成本：0.00%，适用行业：公立医院、公立医院及指定要求的挂号平台、民办大学院校及公益基金会、党费、政府非税业务
     * 766-主体类型：其他组织，结算成本：0.20%，适用行业：餐饮、零售批发、交通出行、生活娱乐服务、民营医疗机构、缴费、加油、物流快递等业务
     * 767-主体类型：其他组织，结算成本：0.30%，适用行业：民办中小学、幼儿园业务
     * 768-主体类型：其他组织，结算成本：0.10%，适用行业：水电煤气民生缴费、交通罚款、公交/高速
     * 769-主体类型：其他组织，结算成本：0.00%，适用行业：民办大学院校及公益基金会
     * 771-主体类型：企业，结算成本：1.00%，适用行业：电商及游戏行业
     */
    private String wxmcc1;

    /**
     * 微信子商户应用ID1，填写在微信侧获得的wx开通的APPID，如果平台合作方开通微信且跳转app支付方式，且子商户是否进件微信选择是，则必输
     */
    private String subAppid1;

    /**
     * 微信联系人2，如果平台合作方开通微信且跳转小程序，或平台合作方开通微信小程序/微信公众号支付方式，且子商户是否进件微信选择是，则必输
     */
    private String wxName2;

    /**
     * 微信门店客户联系电话2，如果平台合作方开通微信且跳转小程序，或平台合作方开通微信小程序/微信公众号支付方式，且子商户是否进件微信选择是，则必输
     */
    private String wxTel2;

    /**
     * 微信经营类目2，如果平台合作方开通微信且跳转小程序，或平台合作方开通微信小程序/微信公众号支付方式，且子商户是否进件微信选择是，则必输
     */
    private String wxmcc2;

    /**
     * 子商户是否进行支付宝
     * 0-否
     * 1-是
     */
    private String intoAlipay;

    /**
     * 支付宝经营类目1，如果平台合作方开通支付宝支付方式，且子商户是否进件支付宝۬选择是，则必输
     */
    private String zfbMcc1;

    /**
     * 支付宝商户来源1，如果平台合作方开通支付宝支付方式，且子商户是否进件支付宝۬选择是，则必输
     */
    private String zfbSourceId1;

    /**
     * 支付宝结算成本通道1，如果平台合作方开通支付宝支付方式，且子商户是否进件支付宝۬选择是，则必输
     * 002-线上0.6%费率通道、
     * 005-线上0费率通道、
     * 006-线上0.3%费率通道
     */
    private String zfbRateChanl1;

    /**
     * 支付宝商户证件类型1，如果平台合作方开通支付宝支付方式，且子商户是否进件支付宝۬选择是，则必输
     * 1-营业执照
     */
    private String zfbMerCusttype1;

    /**
     * 支付宝证件编号1，如果平台合作方开通支付宝支付方式，且子商户是否进件支付宝۬选择是，则必输
     */
    private String zfbMerCustnum1;

    /**
     * 支付宝联系人证件类型1，如果平台合作方开通支付宝支付方式，且子商户是否进件支付宝۬选择是，则必输
     * 1-法人
     * 2-实际控制人
     * 3-代理人
     * 4-其他
     */
    private String zfbMerCustSort1;

    /**
     * 支付宝身份证号1，如果平台合作方开通支付宝支付方式，且子商户是否进件支付宝۬选择是，则必输
     */
    private String zfbMerCustCode1;

    /**
     * 支付宝银行卡号1，如果平台合作方开通支付宝支付方式，且子商户是否进件支付宝۬选择是，则必输
     */
    private String zfbMerCard1;

    /**
     * 支付宝银行卡持卡人姓名1，如果平台合作方开通支付宝支付方式，且子商户是否进件支付宝۬选择是，则必输
     */
    private String zfbMerCardName1;

    /**
     * 支付宝操作类型1，如果平台合作方开通支付宝支付方式，且子商户是否进件支付宝۬选择是，则必输
     * 1-新增
     */
    private String zfboperatortype1;

    /**
     * 支付宝客服电话1，如果平台合作方开通支付宝支付方式，且子商户是否进件支付宝۬选择是，则必输
     */
    private String zfbservicephone1;

    /**
     * 支付宝联系人1，如果平台合作方开通支付宝支付方式，且子商户是否进件支付宝۬选择是，则必输
     */
    private String zfbcontact1;

    /**
     * 支付宝联系人证件类型1，如果平台合作方开通支付宝支付方式，且子商户是否进件支付宝۬选择是，则必输
     * 1-法人
     * 2-实际控制人
     * 3-代理人
     * 4-其他
     */
    private String zfbcontacttype1;

    /**
     * 支付宝商户所在省份编码1，如果平台合作方开通支付宝支付方式，且子商户是否进件支付宝۬选择是，则必输
     */
    private String zfbMerProvcode1;

    /**
     * 支付宝商户所在城市编码1，如果平台合作方开通支付宝支付方式，且子商户是否进件支付宝۬选择是，则必输
     */
    private String zfbMerCitycode1;

    /**
     * 支付宝商户所在区县编码2，如果平台合作方开通支付宝支付方式，且子商户是否进件支付宝۬选择是，则必输
     */
    private String zfbMerAreacode1;

    /**
     * 支付宝联商户备注1，如果平台合作方开通支付宝支付方式，且子商户是否进件支付宝۬选择是，则必输
     */
    private String zfbmerchantremart1;

    /**
     * 支付宝商户详细经营地址1，如果平台合作方开通支付宝支付方式，且子商户是否进件支付宝۬选择是，则必输
     */
    private String zfbaddress1;

    /**
     * 支付宝商户来源2，如果平台合作方开通支付宝生活号支付方式，且子商户是否进件支付宝۬选择是，则必输
     */
    private String zfbSourceId2;

    /**
     * 支付宝结算成本通道2，如果平台合作方开通支付宝生活号支付方式，且子商户是否进件支付宝۬选择是，则必输
     * 001-0.2%费率通道
     */
    private String zfbRateChanl2;

    /**
     * 支付宝商户证件类型2，如果平台合作方开通支付宝生活号支付方式，且子商户是否进件支付宝۬选择是，则必输
     * 1-营业执照
     */
    private String zfbMerCusttype2;

    /**
     * 支付宝证件编号2，如果平台合作方开通支付宝生活号支付方式，且子商户是否进件支付宝۬选择是，则必输
     */
    private String zfbMerCustnum2;

    /**
     * 支付宝联系人证件类型，如果平台合作方开通支付宝生活号支付方式，且子商户是否进件支付宝۬选择是，则必输
     * 1-法人
     * 2-实际控制人
     * 3-代理人
     * 4-其他
     */
    private String zfbMerCustSort2;

    /**
     * 支付宝身份证号2，如果平台合作方开通支付宝生活号支付方式，且子商户是否进件支付宝۬选择是，则必输
     */
    private String zfbMerCustCode2;

    /**
     * 支付宝商户所在省份编码2，如果平台合作方开通支付宝生活号支付方式，且子商户是否进件支付宝۬选择是，则必输
     */
    private String zfbMerProvcode2;

    /**
     * 支付宝商户所在城市编码2，如果平台合作方开通支付宝生活号支付方式，且子商户是否进件支付宝۬选择是，则必输
     */
    private String zfbMerCitycode2;

    /**
     * 支付宝商户所在区县编码2（如果平台合作方开通支付宝生活号支付方式，且子商户是否进件支付宝选择是，则必输）
     */
    private String zfbMerAreacode2;

    /**
     * 支付宝银行卡号2（如果平台合作方开通支付宝生活号支付方式，且子商户是否进件支付宝选择是，则必输）
     */
    private String zfbMerCard2;

    /**
     * 支付宝银行卡持卡人姓名2（如果平台合作方开通支付宝生活号支付方式，且子商户是否进件支付宝选择是，则必输）
     */
    private String zfbMerCardName2;

    /**
     * 支付宝操作类型2（如果平台合作方开通支付宝生活号支付方式，且子商户是否进件支付宝选择是，则必输）
     * 1-新增
     */
    private String zfboperatortype2;

    /**
     * 支付宝客服电话2（如果平台合作方开通支付宝生活号支付方式，且子商户是否进件支付宝选择是，则必输）
     */
    private String zfbservicephone2;

    /**
     * 支付宝手机号2（如果平台合作方开通支付宝生活号支付方式，且子商户是否进件支付宝选择是，则必输）
     */
    private String zfbmobile2;

    /**
     * 支付宝联系人2（如果平台合作方开通支付宝生活号支付方式，且子商户是否进件支付宝选择是，则必输）
     */
    private String zfbcontact2;

    /**
     * 支付宝联系人类型2（如果平台合作方开通支付宝生活号支付方式，且子商户是否进件支付宝选择是，则必输）
     * 1-法人
     * 2-实际控制人
     * 3-代理人
     * 4-其他
     */
    private String zfbcontacttype2;

    /**
     * 支付宝商户名称2（如果平台合作方开通支付宝生活号支付方式，且子商户是否进件支付宝选择是，则必输）
     */
    private String zfbmerchantname2;

    /**
     * 支付宝商户简称2（如果平台合作方开通支付宝生活号支付方式，且子商户是否进件支付宝选择是，则必输）
     */
    private String zfbmerchantshortname2;

    /**
     * 支付宝商户详细经营地址2（如果平台合作方开通支付宝生活号支付方式，且子商户是否进件支付宝选择是，则必输）
     */
    private String zfbaddress2;


    private String cbmsInvestApprPic1;

    private String cbmsInvestApprPic2;

    private String cbmsInvestApprPic3;

    private String cbmsInvestApprPic4;

    private String cbmsInvestApprPic5;

    private String crftType1;

    private String crftNo1;

    private String crftType2;

    private String crftNo2;

    private String wxratechannel1;

    private String wxqdsno1;

    private String wxsercode1;

    private String wxratechannel2;

    private String wxqdsno2;

    private String wxsercode2;

    private String zfbMerSiteCode1;

    private String zfbMerSiteAddr1;

    private String zfbLifeCode1;

    private String zfbsubappid1;

    private String zfbMerSiteCode2;

    private String zfbMerSiteAddr2;

    private String zfbLifeCode2;

    private String subAppid2;

    private String recstatus1;

    private String licenseAddress;
}
